make version.cmake more readable
authorRello <Rello@users.noreply.github.com>
Wed, 26 Feb 2025 12:53:46 +0000 (13:53 +0100)
committerMatthieu Gallien <matthieu.gallien@nextcloud.com>
Fri, 14 Mar 2025 09:52:06 +0000 (10:52 +0100)
* all changeable variables are now at the beginning

* double definitions cleaned

Signed-off-by: Rello <Rello@users.noreply.github.com>
VERSION.cmake

index 7bf09aeff407b6aa28199e6a4881fdcfe2c08c27..da0d5d1ba19c3462ef73276d4a1bf2f796d03f0a 100644 (file)
@@ -1,10 +1,17 @@
-set( MIRALL_VERSION_MAJOR 3 )
-set( MIRALL_VERSION_MINOR 16 )
-set( MIRALL_VERSION_PATCH 1 )
-set( MIRALL_VERSION_YEAR  2025 )
-set( MIRALL_SOVERSION 0 )
+# ------------------------------------
+# Version information
+# ------------------------------------
+set(MIRALL_VERSION_MAJOR 3)
+set(MIRALL_VERSION_MINOR 16)
+set(MIRALL_VERSION_PATCH 1)
+set(MIRALL_VERSION_YEAR  2025)
+set(MIRALL_SOVERSION     0)
+set(MIRALL_PREVERSION_HUMAN "3.16.1")  # For preversions where PATCH>=50. Use version + alpha, rc1, rc2, etc.
 
-# Minimum supported server version according to https://docs.nextcloud.com/server/latest/admin_manual/release_schedule.html
+# ------------------------------------
+# Minimum supported server versions
+# According to: https://docs.nextcloud.com/server/latest/admin_manual/release_schedule.html
+# ------------------------------------
 set(NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MAJOR 18)
 set(NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MINOR 0)
 set(NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_PATCH 0)
@@ -17,31 +24,43 @@ set(NEXTCLOUD_SERVER_VERSION_MOUNT_ROOT_PROPERTY_SUPPORTED_MAJOR 28)
 set(NEXTCLOUD_SERVER_VERSION_MOUNT_ROOT_PROPERTY_SUPPORTED_MINOR 0)
 set(NEXTCLOUD_SERVER_VERSION_MOUNT_ROOT_PROPERTY_SUPPORTED_PATCH 3)
 
-if ( NOT DEFINED MIRALL_VERSION_SUFFIX )
-    set( MIRALL_VERSION_SUFFIX "daily") #e.g. beta1, beta2, rc1
-endif( NOT DEFINED MIRALL_VERSION_SUFFIX )
-
-if( NOT DEFINED MIRALL_VERSION_BUILD )
-    set( MIRALL_VERSION_BUILD "0" ) # Integer ID. Generated by the build system
-endif( NOT DEFINED MIRALL_VERSION_BUILD )
-# Composite defines
-# Used e.g. for libraries Keep at x.y.z.
-set( MIRALL_VERSION "${MIRALL_VERSION_MAJOR}.${MIRALL_VERSION_MINOR}.${MIRALL_VERSION_PATCH}" )
-# Version with Build ID. Used in the installer
-set( MIRALL_VERSION_FULL ${MIRALL_VERSION} )
-set( MIRALL_VERSION_STRING ${MIRALL_VERSION} )
-set( MIRALL_VERSION_FULL "${MIRALL_VERSION_FULL}.${MIRALL_VERSION_BUILD}" )
-
-set( MIRALL_VERSION_STRING "${MIRALL_VERSION}${MIRALL_VERSION_SUFFIX}" )
-if(MIRALL_VERSION_PATCH VERSION_GREATER_EQUAL "50")
-    set (MIRALL_HUMAN_VERSION_STRING "3.16.1")
+# ------------------------------------
+# Define default suffixes if not set
+# ------------------------------------
+if(NOT DEFINED MIRALL_VERSION_SUFFIX)
+    set(MIRALL_VERSION_SUFFIX "daily")  # e.g. beta1, rc1, etc.
+endif()
+
+if(NOT DEFINED MIRALL_VERSION_BUILD)
+    set(MIRALL_VERSION_BUILD "0")       # Integer ID generated by the build system
+endif()
+
+# ------------------------------------
+# Composite version definitions
+# ------------------------------------
+# Used for libraries: keep at x.y.z
+set(MIRALL_VERSION "${MIRALL_VERSION_MAJOR}.${MIRALL_VERSION_MINOR}.${MIRALL_VERSION_PATCH}")
+
+# Full version (includes build number)
+set(MIRALL_VERSION_FULL "${MIRALL_VERSION}.${MIRALL_VERSION_BUILD}")
+
+# Base version string (e.g. 3.16.50daily)
+set(MIRALL_VERSION_STRING "${MIRALL_VERSION}${MIRALL_VERSION_SUFFIX}")
+
+# Decide human-readable version string
+if(MIRALL_VERSION_PATCH VERSION_GREATER_EQUAL 50)
+    set(MIRALL_HUMAN_VERSION_STRING "${MIRALL_PREVERSION_HUMAN}")
 else()
-    set (MIRALL_HUMAN_VERSION_STRING ${MIRALL_VERSION_STRING})
+    set(MIRALL_HUMAN_VERSION_STRING "${MIRALL_VERSION_STRING}")
 endif()
 
-if( MIRALL_VERSION_BUILD )
-    set( MIRALL_VERSION_STRING "${MIRALL_VERSION_STRING} (build ${MIRALL_VERSION_BUILD})" )
-endif( MIRALL_VERSION_BUILD )
+# Append build info if available
+if(MIRALL_VERSION_BUILD)
+    set(MIRALL_VERSION_STRING "${MIRALL_VERSION_STRING} (build ${MIRALL_VERSION_BUILD})")
+endif()
 
-# not used anymore. For brander, please maintain craftmaster.ini
+# ------------------------------------
+# Misc
+# ------------------------------------
+# Not used anymore. For brander, please maintain craftmaster.ini
 set(QT_MAJOR_VERSION 6)